A common problem in modern ad-hoc wireless communications networks is that individual nodes need to recognize each other's existence, and possibly each other's locations, to be able to join together to form a network. In military communications systems fast and covert node identification and recognition means can help prevent friendly fire incidents.
Once a network is established, new nodes often need to join the existing network. The nodes need a way to do this without compromising their own security, or the security of the network they are joining. Additionally, an established network typically can discover the existence of another separate network that has migrated into communication range, so that a cross-link can be established between the networks to form a larger network. This process of nodes finding each other is called node discovery.
There are many ways that node discovery can be performed. A good node discovery scheme for an encrypted or secret communications network has a number of properties, including permitting fast and reliable network entry, being covert, secure and jam proof, as well as having a range that exceeds the network itself. One procedure used to accommodate these desired properties is to spread a carrier signal to form a spread spectrum signal.
Spread spectrum techniques have proven useful in a variety of communications applications, including cellular telephones, wireless networks, and military communications. One advantage provided by spread spectrum techniques is the ability to transmit a signal which is difficult for an unauthorized user to detect.
Wireless spread spectrum systems operate by using a relatively large amount of spectrum bandwidth to communicate signals. The large bandwidth is consumed by spread spectrum encoding the message data using a pseudonoise (PN) code. The two most common types of spread spectrum transmission are frequency hopping, where the pseudonoise code is used to pseudo randomly change the transmission frequency on a periodic basis, and direct sequence, where the pseudonoise code is used to modulate the transmit signal at a relatively high rate compared to the underlying message data rate.
In order to detect a spread spectrum transmission, it is generally necessary to know the pseudonoise code beforehand. Furthermore, to extract the message data, it is generally necessary to know the timing of the pseudonoise code. For example, in a direct sequence system, this can be accomplished by knowing the code frequency, also known as the chip rate (rate at which the pseudonoise code advances through its sequence), and the starting time of the pseudonoise code (sometimes referred to as the phase of the code). A signal for which the spread spectrum receiver knows the pseudonoise code, pseudonoise code phase, and pseudonoise code frequency can be referred to as a synchronized signal.
Correlation can be used to detect a spread spectrum transmission and to extract the data from a spread spectrum transmission. Correlation typically performs a chip by chip comparison between a received signal and a local code reference, summing these comparison results over many chip intervals, the overall length referred to as the “correlation interval.” For example, to extract data, a receiver typically performs a correlation of the spread spectrum signal with the spreading code over a correlation interval corresponding to one symbol of underlying information. If the so-called processing gain is high (many spreading code chips for each information symbol), this correlation interval may span an interval of many chips. For example, systems are known which use processing gain in excess of 1000, in which case each symbol spans 1000 chips. For detecting a spread spectrum transmission, even longer correlation intervals are often used which span many symbols and, thus, many thousands of chips.
Achieving synchronization with a spread spectrum signal can be difficult, in part due to high pseudonoise code rate (frequency). For example, a relatively low message data rate of 1,000 bits per second might be spread spectrum encoded with a relatively high pseudonoise code rate of 10,000,000 chips per second, where a bit of the pseudonoise code is referred to as a chip. In this example, the ratio of 10,000,000/1,000=10,000 is the processing gain. A spread spectrum receiver for this signal will need to synchronize to the high pseudonoise code rate being used by the transmitter, and hence the spread spectrum receiver requires a factor of 10,000 higher synchronization accuracy than a non-spread spectrum system. The difficulty of achieving this synchronization increases as the processing gain increases.
In order to limit the difficulty of synchronizing spread spectrum systems, various techniques have been used. These techniques include the use of very stable oscillators to generate the carrier frequency on which the transmission is centered, the use of very stable clocks to generate the pseudonoise code, and the transmission of special pilot signals or long preambles of known data to aid receiver in synchronization.
Another property of spread spectrum systems is a generally low probability of detection by a user lacking knowledge of the pseudonoise code. This is because the transmitter power of the spread spectrum signal is spread out over a relatively large portion of radio spectrum. By using a high processing gain, it is possible to sufficiently spread the transmitter power out so that the resulting transmission spectral power density is below the noise level within the environment. In general, it is more difficult to detect a spread spectrum signal without knowledge of the pseudonoise code as the processing gain is increased, making the use of high processing gain desirable. Unfortunately, higher processing gains also make acquisition of the spread spectrum signal more difficult for authorized receivers that know the pseudonoise code.
A particular challenge exists in a spread spectrum system that has moving platforms. When the transmitter and receiver are moving relative to one another, a Doppler shift occurs. The Doppler shift is a change in the frequency of the spread spectrum signal with respect to the receiver. The signal is shifted in a manner similar to a perceived change in pitch of a train whistle as it proceeds past a stationary person. The change in frequency is relatively small for slow moving platforms, such as cars, since the change in frequency is proportional to the speed of the platform relative to the speed of light.
However, for relatively fast moving platforms, such as a transmitter mounted on one aircraft moving at 500 nautical miles per hour and a receiver mounted on another aircraft moving in the opposite direction at 500 nautical miles per hour, there can be a relatively large shift in frequency. For example, a transmitter having an imperfect clock with an error of 0.05 parts per million that transmits a signal on a 10 GHz carrier frequency to a receiver moving at a speed of 1000 knots relative to the transmitter will have a 17,600 Hz shift in frequency. If the relative speed difference between the receiver and transmitter is unknown, the Doppler shift can substantially complicate receiving a spread spectrum signal.
One approach to detecting a node in a wireless ad-hoc communication system is to enable each node to transmit a detection burst. The burst can be relatively short in length and well below a noise floor to reduce the probability of detection by unwanted persons. However, detection, synchronization, and correlation of a short length pseudonoise burst having a relatively large Doppler shift can be quite challenging. A receiver is faced with a considerable challenge in detecting these short message transmissions, which have an unknown start time. Since the message transmissions are short, there is a limited amount of time to detect the message. Traditional approaches which sequentially search a plurality of hypothesized start times can prove ineffective at detecting these short transmissions, since the transmission may occur while the searching is being done using a different hypothesized start time than that of the transmission.
The problem just described is further aggravated when the transmitters are designed to achieve low cost. Hence, the oscillators used may provide relatively low accuracy and stability, resulting in carrier frequency offsets and code frequency offsets. Furthermore, the code frequency offset may be unrelated to the carrier frequency offset due to a combination of different oscillators and Doppler effects. Accordingly, a receiver is faced with a challenging problem of detecting the transmissions.